Some embodiments described herein relate generally to methods and apparatus to configure a set or a group of loopback ports in a network device and associate a given tunnel to these loopback ports.
Typically, Generic Routing Encapsulation (GRE) tunneling involves a two-pass mechanism that supports quality of service (QoS) and firewalls on both passenger internet protocol (IP) and delivery GRE-IP header. In GRE tunneling, all the ingress/egress traffic for all GRE tunnels is typically redirected to a loopback port in a network device. In the first pass, on traffic ingressing on a GRE tunnel, the tunnel header of each data unit is removed (decapsulated) and the incoming GRE tunnel is identified; then, that data unit is looped back via a designated loopback port. In the second pass, each data unit is further processed in the network device. Similarly, in the first pass, for data traffic egressing the GRE tunnel, each data unit is encapsulated by a tunnel header and that data unit is looped back. In the second pass, each data unit is routed based on the tunnel destination.
In this known GRE tunneling approach, if the loopback port or link becomes deactivated for any reason (e.g., line card on which the loopback port resides powers off or becomes deactivated), the GRE tunnels using this loopback port also become deactivated until the user configuration changes or the loopback port recovers. Additionally, depending on the data traffic dynamics, the total tunnel traffic ingressing/egressing a given loopback port can exceed the loopback port bandwidth.
Accordingly, a need exists for methods and apparatus to configure a set or a group of loopback ports in a network device and associate a given GRE tunnel to these loopback ports. Hence, if any of the loopback ports or links becomes deactivated, the data traffic can be automatically re-routed to the other active loopback ports or links and the data traffic can be also be appropriately load balanced across the set of loopback ports.